package com.shop.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * 订单金额 实体类。
 *
 * @author 彭新才 
 * @since 2024-10-14
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "订单金额")
@Table(value = "shop_order_money")
public class ShopOrderMoney implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @Schema(description = "")
    private Integer id;

    /**
     * 订单号
     */
    @Schema(description = "订单号")
    private Integer orderId;

    /**
     * 供应商id
     */
    @Schema(description = "供应商id")
    private Integer shopSupplierId;

    /**
     * 订单金额，不包括运费
     */
    @Schema(description = "订单金额，不包括运费")
    private BigDecimal orderMoney;

    /**
     * 支付金额
     */
    @Schema(description = "支付金额")
    private BigDecimal payMoney;

    /**
     * 运费
     */
    @Schema(description = "运费")
    private BigDecimal expressMoney;

    /**
     * 店铺金额
     */
    @Schema(description = "店铺金额")
    private BigDecimal supplierMoney;

    /**
     * 供应商实际结算金额
     */
    @Schema(description = "供应商实际结算金额")
    private BigDecimal realSupplierMoney;

    /**
     * 平台抽成
     */
    @Schema(description = "平台抽成")
    private BigDecimal sysMoney;

    /**
     * 平台实际结算金额
     */
    @Schema(description = "平台实际结算金额")
    private BigDecimal realSysMoney;

    /**
     * 分销佣金
     */
    @Schema(description = "分销佣金")
    private BigDecimal agentMoney;

    /**
     * 退款金额
     */
    @Schema(description = "退款金额")
    private BigDecimal refundMoney;

    /**
     * 供应商退款金额
     */
    @Schema(description = "供应商退款金额")
    private BigDecimal refundSupplierMoney;

    /**
     * 平台退款结算金额
     */
    @Schema(description = "平台退款结算金额")
    private BigDecimal refundSysMoney;

    @Schema(description = "")
    private Timestamp createTime;

}
